-
Notifications
You must be signed in to change notification settings - Fork 1.8k
JavaScript: Fix characteristic predicate of XMLParent.
#2520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I'm going to do a very quick dist-compare to ensure this doesn't cause optimiser wobbles. |
esbena
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, with one comment to help our future selves.
| * both of which can contain other elements. | ||
| */ | ||
| class XMLParent extends @xmlparent { | ||
| XMLParent() { this instanceof @xmlelement or xmlEncoding(this, _) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a comment here or in the extractor about why we do it like this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, probably a good idea. Done.
The database type `@xmlparent` is defined a bit too loosely in that it includes all of `@file`, not just XML files. Fixing that would involve fiddling with the extractor/dbscheme, so I have opted to fix it at the QL level instead.
7574295 to
dfeca63
Compare
|
A smoke-test evaluation (internal link) showed no changes. I tried out DPM for this run, which worked like a charm (:tada:) and shows no changes to either tuple counts or predicted timings. I take that as evidence that join orders didn't change at all, so unless there is significant appetite for a more thorough evaluation I think this is good to go. |
The database type
@xmlparentis defined a bit too loosely in that it includes all of@file, not just XML files. This meant that non-XML files were instances ofXMLParentbut not of any of its subtypes, thereby inheriting the defaultnone()-implementation ofgetName(), causing theirtoString()predicates to be empty.Fixing the extent of
@xmlparentwould involve fiddling with the extractor/dbscheme, while fixingXMLParentcan be done at the QL level, so that's what I've done instead.Fixes #2517.